Relative image capture device orientation calibration

ABSTRACT

Controlling an unmanned aerial vehicle may include obtaining a first image from a fixed orientation image capture device of the unmanned aerial vehicle, obtaining a second image from an adjustable orientation image capture device of the unmanned aerial vehicle, obtaining feature correlation data based on the first image and the second image, obtaining relative image capture device orientation calibration data based on the feature correlation data, the relative image capture device orientation calibration data indicating an orientation of the adjustable orientation image capture device relative to the fixed orientation image capture device, obtaining relative object orientation data based on the relative image capture device orientation calibration data, the relative object orientation data representing a three-dimensional orientation of an external object relative to the adjustable orientation image capture device, and controlling a trajectory of the unmanned aerial vehicle in response to the relative object orientation data.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.62/620,771, filed Jan. 23, 2018, the contents of which are incorporatedby reference herein in its entirety.

TECHNICAL FIELD

This disclosure relates to unmanned aerial vehicles (UAVs).

BACKGROUND

An unmanned aerial vehicle may operate in an environment that includesobstacles, such as external objects. Accordingly, includingfunctionality for detecting objects, such as to determine a position ofthe unmanned aerial vehicle relative to the object, a distance betweenthe unmanned aerial vehicle and the object, a relative trajectory of theobject, or the like, in an unmanned aerial vehicle would beadvantageous.

SUMMARY

Systems and techniques for relative image capture device orientationcalibration are described herein.

One aspect of the disclosure is an unmanned aerial vehicle including afixed orientation image capture device, an adjustable orientation imagecapture device, and a processor configured to execute instruction storedon a non-transitory computer readable medium to control the unmannedaerial vehicle to traverse a portion of an operational environment ofthe unmanned aerial vehicle using relative image capture deviceorientation calibration by obtaining a first image from the fixedorientation image capture device, obtaining a second image from theadjustable orientation image capture device, obtaining featurecorrelation data based on the first image and the second image,obtaining relative image capture device orientation calibration databased on the feature correlation data, the relative image capture deviceorientation calibration data indicating an orientation of the adjustableorientation image capture device relative to the fixed orientation imagecapture device, and obtaining relative object orientation data based onthe relative image capture device orientation calibration data, therelative object orientation data representing a three-dimensionalorientation of an external object relative to the adjustable orientationimage capture device. The unmanned aerial vehicle includes a trajectorycontroller configured to control a trajectory of the unmanned aerialvehicle in response to the relative object orientation data.

Another aspect of the disclosure is a method for controlling, by aprocessor in response to instructions stored on a non-transitorycomputer readable medium, an unmanned aerial vehicle to traverse aportion of an operational environment of the unmanned aerial vehicleusing relative image capture device orientation calibration. The methodincludes obtaining a first image from a fixed orientation image capturedevice of the unmanned aerial vehicle, obtaining a second image from anadjustable orientation image capture device of the unmanned aerialvehicle, obtaining feature correlation data based on the first image andthe second image, obtaining relative image capture device orientationcalibration data based on the feature correlation data, the relativeimage capture device orientation calibration data indicating anorientation of the adjustable orientation image capture device relativeto the fixed orientation image capture device, obtaining relative objectorientation data based on the relative image capture device orientationcalibration data, the relative object orientation data representing athree-dimensional orientation of an external object relative to theadjustable orientation image capture device, and controlling atrajectory of the unmanned aerial vehicle in response to the relativeobject orientation data.

Another aspect of the disclosure is a non-transitory computer-readablestorage medium, comprising processor-executable instructions forcontrolling, by a processor in response the instructions, an unmannedaerial vehicle to traverse a portion of an operational environment ofthe unmanned aerial vehicle using relative image capture deviceorientation calibration by obtaining a first image from a fixedorientation image capture device of the unmanned aerial vehicle,obtaining a second image from an adjustable orientation image capturedevice of the unmanned aerial vehicle, obtaining feature correlationdata based on the first image and the second image, obtaining relativeimage capture device orientation calibration data based on the featurecorrelation data, the relative image capture device orientationcalibration data indicating an orientation of the adjustable orientationimage capture device relative to the fixed orientation image capturedevice, obtaining relative object orientation data based on the relativeimage capture device orientation calibration data, the relative objectorientation data representing a three-dimensional orientation of anexternal object relative to the adjustable orientation image capturedevice, and controlling a trajectory of the unmanned aerial vehicle inresponse to the relative object orientation data.

These and other objects, features, and characteristics of the systemand/or method disclosed herein, as well as the methods of operation andfunctions of the related elements of structure and the combination ofparts and economies of manufacture, will become more apparent uponconsideration of the following description and the appended claims withreference to the accompanying drawings, all of which form a part of thisspecification, wherein like reference numerals designate correspondingparts in the various figures.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure is best understood from the following detaileddescription when read in conjunction with the accompanying drawings. Itis emphasized that, according to common practice, the various featuresof the drawings are not to-scale. On the contrary, the dimensions of thevarious features are arbitrarily expanded or reduced for clarity.

FIG. 1 shows an example of an unmanned aerial vehicle in accordance withthis disclosure

FIG. 2 is a block diagram of an example of a computing device inaccordance with implementations of this disclosure

FIG. 3 is a diagram of an example of unmanned aerial vehicle operationincluding relative image capture device orientation calibration inaccordance with implementations of this disclosure.

DETAILED DESCRIPTION

Unmanned mobile apparatus, such as an unmanned aerial vehicle, mayoperate in an environment, such as three-dimensional space over time.The operational environment may include external objects, such as flora,fauna, the earth, buildings, vehicles, or the like. External objects mayobstruct or interfere with the operation of the apparatus. The positionor trajectory of the unmanned aerial vehicle may be controlled oradjusted relative to an external object.

Operational modes, including operator controlled modes, autonomousmodes, and semi-autonomous modes, may use sensors of the apparatus todetect, orient to, and avoid obstacles. For example, an unmanned aerialvehicle may include a fixed orientation image capture device, such as afront looking stereo camera or a down-looking visual-positioning camera,and an adjustable orientation image capture device, which may beconnected to or mounted on the unmanned aerial vehicle via a gimbal, andunmanned aerial vehicle operation may include controlling the positionor trajectory of the unmanned aerial vehicle based on images captured bythe fixed orientation image capture device, the adjustable orientationimage capture device, or both.

The accuracy, efficiency, or both, of unmanned aerial vehicle controlbased, at least in part, on images captured by the adjustableorientation image capture device may be limited based on the accuracy ofrelative orientation calibration information indicating an orientationof the adjustable orientation image capture device relative to the fixedorientation image capture device and the unmanned aerial vehicle. Gimbalorientation calibration may include calibrating the relative orientationof the adjustable orientation image capture device relative to the fixedorientation image capture device and the unmanned aerial vehicle basedon image data captured by the respective image capture devices.

FIG. 1 shows an example of an unmanned aerial vehicle 100 in accordancewith this disclosure. For simplicity and clarity, the unmanned aerialvehicle 100 is shown in FIG. 1 in a quad-copter configuration. As shown,the unmanned aerial vehicle 100 includes a body 110, a propulsion unit120, a motor 130, a power supply unit 140, a control unit 150, acommunications unit 160, and a sensor 170. Although not shown in FIG. 1,the unmanned aerial vehicle 100 may include any other component orcombination of components of an unmanned aerial vehicle. The orientationor position of the motor 130, the power supply unit 140, the controlunit 150, the communications unit 160, and the sensor 170 are shown forsimplicity and clarity, any other orientation may be used.

The body 110 may be a structure, a chassis, a platform, a housing, or anenclosure. For example, a movable quad-copter drone platform is shown inFIG. 1. The propulsion unit 120, the motor 130, the power supply unit140, the control unit 150, the communications unit 160, the sensor 170,or any other component of the unmanned aerial vehicle 100 may be coupledto, such as mounted, movably attached, fixed, or otherwise incorporatedor physically connected to the body 110.

The propulsion unit 120 may include, or may be operatively coupled with,four rotors 122, 124, 126, 128 in the quad-copter configuration shown.Other propulsion units, such as propulsion units including a differentnumber or configuration of rotors, may be used.

Components of the unmanned aerial vehicle 100, such as the propulsionunit 120, the motor 130, the power supply unit 140, the control unit150, the communications unit 160, and the sensor 170 may be operativelyinterconnected. For example, the power supply unit 140 may beoperatively connected to the propulsion unit 120, the motor 130, thecontrol unit 150, the communications unit 160, the sensor 170, or acombination thereof, to supply power to the respective components. Inanother example, the control unit 150 may be operatively connected tothe propulsion unit 120, the motor 130, the power supply unit 140, thecommunications unit 160, the sensor 170, or a combination thereof, tocontrol the operation of the respective components.

The motor 130 may be, for example, an electric motor which may beoperatively coupled to, and may receive power from, the power supplyunit 140. Although one motor 130 is shown in FIG. 1, each rotor 122,124, 126, 128 of the propulsion unit 120 may be driven by a respectiveelectric motor.

The power supply unit 140 may be, for example, a battery pack mounted onor in the body 110 of the unmanned aerial vehicle 100, and may supplyelectrical power to the propulsion unit 120, the motor 130, thecommunications unit 160, the sensor 170, or any other component orcombination of components of the unmanned aerial vehicle 100.

The sensor 170 may obtain, capture, or generate sensor data. Forexample, the sensor 170 may be an image capture apparatus, which mayinclude an image capture device, such as a camera, which may obtain,capture, or generate, image content, such as images, video, or both.

Although not expressly shown in FIG. 1, an image capture device mayinclude a lens or another optical element, for receiving and focusinglight, and an image sensor for converting the received and focused lightto an image signal, such as by measuring or sampling the light. Thesensor 170 may have a field-of-view. An optical element may include oneor more lens, macro lens, zoom lens, special-purpose lens, telephotolens, prime lens, achromatic lens, apochromatic lens, process lens,wide-angle lens, ultra-wide-angle lens, fisheye lens, infrared lens,ultraviolet lens, perspective control lens, other lens, and/or otheroptical element.

Although not expressly shown in FIG. 1, an image capture device mayinclude one or more image sensors, such as a charge-coupled device (CCD)sensor, an active pixel sensor (APS), a complementary metal-oxidesemiconductor (CMOS) sensor, an N-type metal-oxide-semiconductor (NMOS)sensor, and/or any other image sensor or combination of image sensors.

Although not expressly shown in FIG. 1, the sensor 170 may include oneor more microphones, which may receive, capture, and record audioinformation. For example, the sensor 170 may include an image sensor andan audio sensor and audio information captured by the audio sensor maybe associated with images acquired by the image sensor.

Although not expressly shown in FIG. 1, the sensor 170 may include oneor more other information sources or sensors, such as an inertialmeasurement unit (IMU), a global positioning system (GPS) receivercomponent, a pressure sensor, a temperature sensor, or any other unit,or combination of units, that may be included in the unmanned aerialvehicle 100.

The unmanned aerial vehicle 100 may interface with or communicate withan external device, such as the external user interface (UI) device 180,via a wired (not shown) or wireless (as shown) computing communicationlink 185. Although a single computing communication link 185 is shown inFIG. 1 for simplicity, any number of computing communication links maybe used. Although the computing communication link 185 shown in FIG. 1is shown as a direct computing communication link, an indirect computingcommunication link, such as a link including another device or anetwork, such as the internet, may be used.

In some implementations, the computing communication link 185 may be aWi-Fi link, an infrared link, a Bluetooth (BT) link, a cellular link, aZigBee link, a near field communications (NFC) link, such as an ISO/IEC23243 protocol link, an Advanced Network Technology interoperability(ANT+) link, and/or any other wireless communications link orcombination of links. In some implementations, the computingcommunication link 185 may be a High-Definition Multimedia Interface(HDMI) link, a Universal Serial Bus (USB) link, a digital videointerface link, a display port interface link, such as a VideoElectronics Standards Association (VESA) digital display interface link,an Ethernet link, a Thunderbolt link, and/or other wired computingcommunication link.

The user interface device 180 may be a computing device, such as asmartphone, a tablet computer, a phablet, a smart watch, a portablecomputer, and/or another device or combination of devices configured toreceive user input, communicate information with the unmanned aerialvehicle 100 via the computing communication link 185, or receive userinput and communicate information with the unmanned aerial vehicle 100via the computing communication link 185.

The unmanned aerial vehicle 100 may transmit images, such as panoramicimages, or portions thereof, to the user interface device 180 via thecomputing communication link 185, and the user interface device 180 maystore, process, display, or a combination thereof the images. The userinterface device 180 may display, or otherwise present, content, such asimages or video, acquired by the unmanned aerial vehicle 100. The userinterface device 180 may communicate information, such as metadata orcontrol information, to the unmanned aerial vehicle 100. In someimplementations, the unmanned aerial vehicle 100 may communicate withone or more other external devices (not shown) via wired or wirelesscomputing communication links (not shown).

The sensor 170, or a portion thereof, may be coupled to the body 110 ofthe unmanned aerial vehicle 100 via a controllable sensor orientationunit 175. For example, the sensor orientation unit 175 may removablymount the sensor 170, or a portion thereof, to the unmanned aerialvehicle 100. The sensor orientation unit 175 may be, for example, athree-axis gimbal for controlling, such as rotating, the orientation ofthe sensor 170, or a portion thereof, about three independent axes. Thesensor orientation unit 175 may include any type of translationalelements, rotational elements, or both, that permit rotational movement,translational movement, or both, in one, two, or three dimensions of thesensor 170 with respect to the unmanned aerial vehicle 100.

The user interface device 180 may include a communications interface(not expressly shown) via which the user interface device 180 mayreceive and send messages, such as commands, related to operation of theunmanned aerial vehicle 100, the sensor 170, the sensor orientation unit175, or a combination thereof. The commands can include movementcommands, configuration commands, operational control commands, imagingcommands, or a combination thereof.

For example, flight direction, attitude, altitude, or a combinationthereof, of the unmanned aerial vehicle 100 may be controlled by theuser interface device 180, such as by controlling respective speeds ofthe motors 130 that drive the respective rotors 122, 124, 126, 128 ofthe propulsion unit 120 of the unmanned aerial vehicle 100. In anexample, the sensor 170 may include a GPS receiver, which may providenavigational data to the user interface device 180, which may be used indetermining flight paths and displaying current location through theuser interface device 180. A vision-based navigation system may beimplemented that correlates visually significant features through imagedata captured by the sensor 170 to provide navigation data, such as thespeed and position of the unmanned aerial vehicle 100, to the userinterface device 180.

The user interface device 180 may implement a software application, suchas GoPro Studio®, GoPro App®, or the like, configured to performoperations related to configuration of orientation or positioning of thesensor 170 via the sensor orientation unit 175, and control of videoacquisition, and/or display of video captured by the sensor 170 throughthe user interface device 180. An application, such as the GoPro App®,may enable a user to create short video clips and share video clips to acloud service (e.g., Instagram®, Facebook®, YouTube®, Dropbox®); performfull remote control of functions of the sensor 170; live preview videobeing captured for shot framing; mark key moments while recording (e.g.,HiLight Tag®, View HiLight Tags in GoPro Camera Roll®) for locationand/or playback of video highlights; wirelessly control camera software;and/or perform other functions.

Although the unmanned aerial vehicle 100 is shown in FIG. 1 in aquad-copter configuration for simplicity and clarity, any unmannedaerial vehicle configuration may be used. In some implementations, oneor more of the units of the unmanned aerial vehicle 100 shown in FIG. 1may be combined or omitted. For example, the communications unit 160,sensor 170, the sensor orientation unit 175, or a combination thereof,may be omitted.

FIG. 2 is a block diagram of an example of a computing device 200 inaccordance with implementations of this disclosure. As shown, thecomputing device 200 includes an audio component 210, a user interface(UI) unit 215, an input/output (I/O) unit 220, a control actuator unit225, a sensor controller 230, a processor 235, an electronic storageunit 240, an image sensor 245, a metadata unit 250, an optics unit 255,a communication unit 260, and a power supply 265.

For example, an unmanned aerial vehicle, such as the unmanned aerialvehicle 100 shown in FIG. 1, may include the computing device 200. Inanother example, a user interface device, such as the user interfacedevice 180 shown in FIG. 1, may include the computing device 200. Someelements of the unmanned aerial vehicle 100 or the user interface device180 shown in FIG. 1 may correspond with respective elements of thecomputing device 200 shown in FIG. 2.

The audio component 210, which may include a microphone, may receive,sample, capture, record, or a combination thereof audio information,such as sound waves. Audio information captured by the audio component210 may be associated with, such as stored in association with, image orvideo content, such as image or video content contemporaneously capturedby the computing device 200.

The audio information captured by the audio component 210 may beencoded. For example, the audio information captured by the audiocomponent 210 may be encoded using a codec, such as Advanced AudioCoding (AAC), Audio Compression-3 (AC3), Moving Picture Experts GroupLayer-3 Audio (MP3), linear Pulse Code Modulation (PCM), Motion PictureExperts Group-High efficiency coding and media delivery in heterogeneousenvironments (MPEG-H), and/or other audio coding formats or codecs.

In some implementations, such as implementations implementing sphericalvideo and/or audio, the audio codec may include a three-dimensionalaudio codec, such as Ambisonics. For example, an Ambisonics codec canproduce full surround audio including a height dimension. Using aG-format Ambisonics codec, a special decoder may be omitted.

The user interface unit 215 may include a user input interface unit. Theuser input interface unit may include one or more units that mayregister or receive input from a user, such as a touch interface, aproximity sensitive interface, a light receiving unit, a sound receivingunit, or a combination thereof.

The user interface unit 215 may include a user interface presentationunit. The user interface presentation unit may present, such as display,a user interface, or a portion thereof, or other user presentableoutput.

Aspects of the user input interface unit and the user interfacepresentation unit may be combined. For example, the user interface unit215 may include a light receiving and emitting unit, a sound receivingand emitting unit, or the like. In some implementations, the userinterface unit 215 may include a display, one or more tactile elements,such as buttons, which may be virtual touch screen buttons, lights(LEDs), speakers, or other user interface elements or combinations ofelements. The user interface unit 215 may receive user input from a userrelated to the operation of the computing device 200. The user interfaceunit 215 may provide information to a user related to the operation ofthe computing device 200.

The user interface unit 215 may include a display unit for presentinginformation, such as information related to camera control or unmannedaerial vehicle control, such as operation mode information, which mayinclude image resolution information, frame rate information, capturemode information, sensor mode information, video mode information, photomode information, or a combination thereof, connection statusinformation, such as connected, wireless, wired, or a combinationthereof, power mode information, such as standby mode information,sensor mode information, video mode information, or a combinationthereof, information related to other information sources, such as heartrate information, global positioning system information, or acombination thereof, and/or other information.

In some implementations, the user interface unit 215 may include a userinterface component such as one or more buttons, which may be operated,such as by a user, to control camera operations, such as to start, stop,pause, and/or resume sensor and/or content capture. The camera controlassociated with respective user interface operations may be defined. Forexample, the camera control associated with respective user interfaceoperations may be defined based on the duration of a button press, whichmay be pulse width modulation, a number of button presses, which may bepulse code modulation, or a combination thereof. In an example, a sensoracquisition mode may be initiated in response to detecting two shortbutton presses. In another example, the initiation of a video mode andcessation of a photo mode, or the initiation of a photo mode andcessation of a video mode, may be triggered or toggled in response to asingle short button press. In another example, video or photo capturefor a given time duration or a number of frames, such as burst capture,may be triggered in response to a single short button press. Other usercommand or communication implementations may also be implemented, suchas one or more short or long button presses.

The I/O unit 220 may synchronize the computing device 200 with otherdevices, such as other external devices. For example, the computingdevice 200 may be implemented in an unmanned aerial vehicle, such as theunmanned aerial vehicle 100 shown in FIG. 1, and I/O unit 220 maysynchronize the computing device 200 in the unmanned aerial vehicle withanother computing device implemented in a user interface device, such asthe user interface device 180 shown in FIG. 1.

The I/O unit 220 may communicate information between I/O components. Insome implementations, the I/O unit 220 may be connected to thecommunication unit 260 to provide a wired and/or wireless communicationsinterface, such as a Wi-Fi interface, a Bluetooth interface, a USBinterface, an HDMI interface, a Wireless USB interface, a Near FieldCommunication (NFC) interface, an Ethernet interface, a radio frequencytransceiver interface, and/or other interfaces, for communication withone or more external devices, such as a user interface device, such asthe user interface device 180 shown in FIG. 1, or another metadatasource. In some implementations, the I/O unit 220 may interface with LEDlights, a display, a button, a microphone, speakers, and/or other I/Ocomponents. In some implementations, the I/O unit 220 may interface withthe power supply 265.

The I/O unit 220 of the computing device 200 may include one or moreconnections to external computerized devices for configuration and/ormanagement of remote devices, as described herein. The I/O unit 220 mayinclude any of the wireless or wireline interfaces described herein,and/or may include customized or proprietary connections for specificapplications.

The control actuator unit 225 may be a dedicated processing unit forcontrolling or actuating a device or unit associated with, such ascoupled to or incorporated with, the computing device 200. For example,the computing device 200 may be included in an apparatus, such as theunmanned aerial vehicle 100 shown in FIG. 1, and the control actuatorunit 225 may control the actuation of a unit of the apparatus, such asthe controllable sensor orientation unit 175. Although shown separatelyfrom the processor 235 in FIG. 2, the processor 235 may include thecontrol actuator unit 225.

The sensor controller 230 may operate or control the image sensor 245,such as in response to input, such as user input. For example, thesensor controller 230 may receive image and/or video input from theimage sensor 245 and may receive audio information from the audiocomponent 210.

The processor 235 may include a system on a chip (SOC), microcontroller,microprocessor, central processing unit (CPU), digital signal processor(DSP), application-specific integrated circuit (ASIC), graphicsprocessing unit (GPU), and/or other processor that may control theoperation and functionality of the computing device 200. The processor235 may interface with the sensor controller 230 to obtain and processsensory information, such as for object detection, face tracking, stereovision, and/or other image processing.

The sensor controller 230, the processor 235, or both may synchronizeinformation received by the computing device 200. For example, timinginformation may be associated with received sensor data, and metadatainformation may be related to content, such as images or videos,captured by the image sensor 245 based on the timing information. Insome implementations, the metadata capture may be decoupled fromvideo/image capture. For example, metadata may be stored before, after,and in-between the capture, processing, or storage of one or more videoclips and/or images.

The sensor controller 230, the processor 235, or both may evaluate orprocess received metadata and may generate other metadata information.For example, the sensor controller 230 may integrate the receivedacceleration information to determine a velocity profile for thecomputing device 200 concurrent with recording a video. In someimplementations, video information may include multiple frames of pixelsand may be encoded using an encoding method, such as H.264, H.265,CineForm and/or other codecs.

Although not shown separately in FIG. 2, one or more of the audiocomponent 210, the user interface unit 215, the I/O unit 220, the sensorcontroller 230, the processor 235, the electronic storage unit 240, theimage sensor 245, the metadata unit 250, the optics unit 255, thecommunication unit 260, or the power supply 265 of the computing device200 may communicate information, power, or both with one or more otherunits, such as via an electronic communication pathway, such as a systembus. For example, the processor 235 may interface with the audiocomponent 210, the user interface unit 215, the I/O unit 220, the sensorcontroller 230, the electronic storage unit 240, the image sensor 245,the metadata unit 250, the optics unit 255, the communication unit 260,or the power supply 265 via one or more driver interfaces and/orsoftware abstraction layers. In some implementations, one or more of theunits shown in FIG. 2 may include a dedicated processing unit, memoryunit, or both (not shown). In some implementations, one or morecomponents may be operable by one or more other control processes. Forexample, a global positioning system receiver may include a processingapparatus that may provide position and/or motion information to theprocessor 235 in accordance with a defined schedule, such as values oflatitude, longitude, and elevation at 10 Hz.

The electronic storage unit 240 may include a system memory module thatmay store executable computer instructions that, when executed by theprocessor 235, perform various functionalities including those describedherein. For example, the electronic storage unit 240 may be anon-transitory computer-readable storage medium, which may includeexecutable instructions, and a processor, such as the processor 235 mayexecute the instruction to perform one or more, or portions of one ormore, of the operations described herein. The electronic storage unit240 may include storage memory for storing content, such as metadata,images, audio, or a combination thereof, captured by the computingdevice 200.

The electronic storage unit 240 may include non-transitory memory forstoring configuration information and/or processing code for videoinformation and metadata capture, and/or to produce a multimedia streamthat may include video information and metadata in accordance with thepresent disclosure. The configuration information may include capturetype, such as video or still image, image resolution, frame rate, burstsetting, white balance, recording configuration, such as loop mode,audio track configuration, and/or other parameters that may beassociated with audio, video, and/or metadata capture. The electronicstorage unit 240 may include memory that may be used by otherhardware/firmware/software elements of the computing device 200.

The image sensor 245 may include one or more of a charge-coupled devicesensor, an active pixel sensor, a complementary metal-oxidesemiconductor sensor, an N-type metal-oxide-semiconductor sensor, and/oranother image sensor or combination of image sensors. The image sensor245 may be controlled based on control signals from a sensor controller230.

The image sensor 245 may sense or sample light waves gathered by theoptics unit 255 and may produce image data or signals. The image sensor245 may generate an output signal conveying visual information regardingthe objects or other content corresponding to the light waves receivedby the optics unit 255. The visual information may include one or moreof an image, a video, and/or other visual information.

The image sensor 245 may include a video sensor, an acoustic sensor, acapacitive sensor, a radio sensor, a vibrational sensor, an ultrasonicsensor, an infrared sensor, a radar sensor, a Light Detection AndRanging (LIDAR) sensor, a sonar sensor, or any other sensory unit orcombination of sensory units capable of detecting or determininginformation in a computing environment.

The metadata unit 250 may include sensors such as an inertialmeasurement unit, which may include one or more accelerometers, one ormore gyroscopes, a magnetometer, a compass, a global positioning systemsensor, an altimeter, an ambient light sensor, a temperature sensor,and/or other sensors or combinations of sensors. The computing device200 may contain one or more other sources of metadata information,telemetry, or both, such as image sensor parameters, battery monitor,storage parameters, and/or other information related to camera operationand/or capture of content. The metadata unit 250 may obtain informationrelated to the environment of the computing device 200 and aspects inwhich the content is captured.

For example, the metadata unit 250 may include an accelerometer that mayprovide device motion information including velocity and/or accelerationvectors representative of motion of the computing device 200. In anotherexample, the metadata unit 250 may include a gyroscope that may provideorientation information describing the orientation of the computingdevice 200. In another example, the metadata unit 250 may include aglobal positioning system sensor that may provide global positioningsystem coordinates, time, and information identifying a location of thecomputing device 200. In another example, the metadata unit 250 mayinclude an altimeter that may obtain information indicating an altitudeof the computing device 200.

The metadata unit 250, or one or more portions thereof, may be rigidlycoupled to the computing device 200 such that motion, changes inorientation, or changes in the location of the computing device 200 maybe accurately detected by the metadata unit 250. Although shown as asingle unit, the metadata unit 250, or one or more portions thereof, maybe implemented as multiple distinct units. For example, the metadataunit 250 may include a temperature sensor as a first physical unit and aglobal positioning system unit as a second physical unit. In someimplementations, the metadata unit 250, or one or more portions thereof,may be included in a computing device 200 as shown, or may be includedin a physically separate unit operatively coupled to, such as incommunication with, the computing device 200.

The optics unit 255 may include one or more of a lens, macro lens, zoomlens, special-purpose lens, telephoto lens, prime lens, achromatic lens,apochromatic lens, process lens, wide-angle lens, ultra-wide-angle lens,fisheye lens, infrared lens, ultraviolet lens, perspective control lens,other lens, and/or other optics component. In some implementations, theoptics unit 255 may include a focus controller unit that may control theoperation and configuration of the camera lens. The optics unit 255 mayreceive light from an object and may focus received light onto an imagesensor 245. Although not shown separately in FIG. 2, in someimplementations, the optics unit 255 and the image sensor 245 may becombined, such as in a combined physical unit, such as a housing.

The communication unit 260 may be coupled to the I/O unit 220 and mayinclude a component, such as a dongle, having an infrared sensor, aradio frequency transceiver and antenna, an ultrasonic transducer,and/or other communications interfaces used to send and receive wirelesscommunication signals. The communication unit 260 may include a local,such as Bluetooth or Wi-Fi, and/or broad range, such as cellular LTE,communications interface for communication between the computing device200 and a remote device, such as the user interface device 180 inFIG. 1. The communication unit 260 may communicate using, for example,Ethernet, 802.11, worldwide interoperability for microwave access(WiMAX), 3G, Long Term Evolution (LTE), digital subscriber line (DSL),asynchronous transfer mode (ATM), InfiniBand, PCI Express AdvancedSwitching, and/or other communication technologies. In someimplementations, the communication unit 260 may communicate usingnetworking protocols, such as multiprotocol label switching (MPLS),transmission control protocol/Internet protocol (TCP/IP), User DatagramProtocol (UDP), hypertext transport protocol (HTTP), simple mailtransfer protocol (SMTP), file transfer protocol (FTP), and/or othernetworking protocols.

Information exchanged via the communication unit 260 may be representedusing formats including one or more of hypertext markup language (HTML),extensible markup language (XML), and/or other formats. One or moreexchanges of information between the computing device 200 and remote orexternal devices may be encrypted using encryption technologiesincluding one or more of secure sockets layer (SSL), transport layersecurity (TLS), virtual private networks (VPNs), Internet Protocolsecurity (IPsec), and/or other encryption technologies.

The power supply 265 may supply power to the computing device 200. Forexample, for a small-sized, lower-power action camera a wireless powersolution, such as battery, solar cell, inductive, such as contactless,power source, rectification, and/or other power supply, may be used.

Consistent with the present disclosure, the components of the computingdevice 200 may be remote from one another and/or aggregated. Forexample, one or more sensor components may be distal from the computingdevice 200, such as shown and described with respect to FIG. 1. Multiplemechanical, sensory, or electrical units may be controlled by a learningapparatus via network/radio connectivity.

In some implementations, one or more of the units of the computingdevice 200 shown in FIG. 2 may be combined or omitted. For example, theaudio component 210, the user interface unit 215, the sensor controller230, the image sensor 245, the metadata unit 250, the optics unit 255,the communication unit 260, or a combination thereof, may be omitted.

FIG. 3 is a diagram of an example of unmanned aerial vehicle operationincluding relative image capture device orientation calibration inaccordance with implementations of this disclosure. Unmanned aerialvehicle operation 300 may be implemented in an unmanned aerial vehicle,such as the unmanned aerial vehicle 100 shown in FIG. 1, which mayinclude sensors, such as the sensor 170 shown in FIG. 1. For example, anunmanned aerial vehicle may include a fixed orientation image capturedevice, such as a front looking stereo camera or a down-lookingvisual-positioning camera, and the unmanned aerial vehicle may includean adjustable orientation image capture device, which may be connectedto or mounted on the unmanned aerial vehicle via a gimbal, such as thesensor orientation unit 175 shown in FIG. 1. Although described ashaving a fixed orientation for simplicity and clarity, the orientationof the fixed orientation image capture device may be adjustable.

As shown, unmanned aerial vehicle operation 300 includes obtaining inputdata at 310, feature correlation at 320, orientation calibration at 330,current object identification at 340, obtaining relative objectorientation data at 350, and unmanned aerial vehicle operation at 360.As indicated by the broken directional line at 370, obtaining input dataat 310, feature correlation at 320, orientation calibration at 330,current object identification at 340, obtaining relative objectorientation data at 350, and unmanned aerial vehicle operation at 360may be performed any number of times, such as in accordance with adefined rate or frequency. In some implementations, one or more offeature correlation at 320, orientation calibration at 330, currentobject identification at 340, or obtaining relative object orientationdata at 350 may be omitted for one or more frames.

Unmanned aerial vehicle operation 300 may include object detection. Forexample, the unmanned aerial vehicle may implement obstacle avoidanceusing object detection. Unmanned aerial vehicle operation 300 mayinclude relative unmanned aerial vehicle positioning, which may includeobtaining object orientation information indicating a relativeorientation of the unmanned aerial vehicle with respect to an object(object orientation). Relative unmanned aerial vehicle positioning mayinclude automatically controlling or adjusting a three-dimensionallocation, or a trajectory, of the unmanned aerial vehicle to positionthe unmanned aerial vehicle relative to an identified current object.Object detection and orientation may include capturing images using oneor more image capture devices of the unmanned aerial vehicle anddetecting objects in two-dimensional space, three-dimensional space, orboth, based on the captured images.

Input data may be obtained at 310. Obtaining the input data may includesensors of the unmanned aerial vehicle obtaining, such as capturing ordetecting, data. For example, the fixed orientation image capturedevice, the adjustable orientation image capture device, or both, mayobtain optical, such as image or video, data, such as by capturingrespective images of a scene. The input data may capture arepresentation of objects included in the scene within the field of viewof the respective sensor as content or features within the capturedimages.

Respective images captured by the fixed orientation image capture deviceand the adjustable orientation image capture device may be temporallysynchronous. For example, the fixed orientation image capture device maycapture a first image and, concurrently, the adjustable orientationimage capture device may capture a second image.

Feature correlation data may be obtained at 320. The feature correlationdata may indicate a spatial correlation of a feature, or multiplefeatures, in respective images. For example, the location of a featurein a first image may be spatially correlated with the location of thefeature in a second image.

Obtaining the feature correlation data, or feature correlation, mayinclude obtaining feature data for the respective images, which mayinclude feature identification. Feature identification may includeanalyzing or evaluating an image to obtain the feature data. The featuredata may indicate a distinguishable portion of the image correspondingto an object in the scene captured by the image. Multiple features maybe identified in an image. For example, feature data may be obtainedbased on the first image, captured by the fixed orientation imagecapture device, and feature data may be obtained based on the secondimage, captured by the adjustable orientation image capture device.

Feature correlation may include correlating features between imagesbased on the feature data and corresponding image data. For example, afeature identified in a first image may be correlated, or matched, suchas based on an image data similarity metric, to a feature identified ina second image. Feature correlation may include spatial featurecorrelation, temporal feature correlation, or a combination thereof.

Spatial feature correlation may include correlating features betweentemporally synchronous spatially overlapping images. Spatiallyoverlapping images may be images captured by image capture deviceshaving overlapping, or partially overlapping, fields of view. Forexample, the input data obtained at 310 may include a first imagecaptured by the fixed orientation image capture device and a secondimage concurrently captured by the adjustable orientation image capturedevice, and features identified in an overlapping portion of the firstimage may be correlated to features identified in a correspondingoverlapping portion of the second image.

Temporal feature correlation may include correlating features betweensequential images captured by an image capture device. For example,current feature data may be obtained for a current image captured by animage capture device and temporal feature correlation data may beobtained by correlating one more features identified in the currentimage with one or more features identified in a previous imagepreviously captured by the image capture device.

Temporal feature correlation data may be obtained based on imagescapture by respective image capture devices. For example, first temporalfeature correlation data may be obtained based on sequential imagescaptured by a first image capture device, such as the fixed orientationimage capture device, and second temporal feature correlation data maybe obtained based on sequential images captured by a second imagecapture device, such as the adjustable orientation image capture device.The images captured by the first image capture device may be temporallysynchronous with the images captured by the second image capture device.For example, the current image captured by the first image capturedevice may be temporally synchronous with the current image captured bythe second image capture device and the previous image captured by thefirst image capture device may be temporally synchronous with theprevious image captured by the second image capture device. The field ofview of the first image capture device may be spatially disparate,non-overlapping, with the field of view of the second image capturedevice.

Although not shown separately in FIG. 3, obtaining temporal featurecorrelation data at 320 may include obtaining relative velocity databased on the temporal feature correlation data. The relative velocitydata may indicate a relative velocity of the image capture device thatcaptured the images corresponding to the temporal feature correlationdata. For example, first relative velocity data may be obtained based onsequential images captured by a first image capture device, such as thefixed orientation image capture device, and second relative velocitydata may be obtained based on sequential images captured by a secondimage capture device, such as the adjustable orientation image capturedevice.

Obtaining the feature correlation data at 320 may include storingfeature data, feature correlation data, or a combination thereof, suchas in a data storage unit, such as a database, of the unmanned aerialvehicle.

Feature correlation at 320 may include determining whether a featurecorrelation metric is at least, such as is equal to or greater than, adefined feature correlation threshold. The feature correlation metricmay be within, such as less than, the defined feature correlationthreshold, and obtaining input data at 310 and feature correlation at320 may be repeated to identify other correlated features as indicatedby the broken line directional arrow at 325.

Orientation calibration data may be obtained at 330. The orientationcalibration data may indicate an orientation, alignment, or position ofthe second image capture device, such as the adjustable image capturedevice, relative to the first image capture device, such as the fixedimage capture device. The orientation calibration data may indicate aspatial correlation or mapping between respective pixels, or groups orpatches of pixels, from images captured by the second image capturedevice, respective pixels, or groups or patches of pixels, from imagescaptured by the first image capture device, and three-dimension space.

An orientation accuracy based on the orientation calibration data mayexceed an orientation accuracy based on previously identifiedorientation data. For example, the current relative alignment of thefixed orientation image capture device, the gimbal, the adjustableorientation image capture device, or a combination thereof, may varyfrom a relative alignment corresponding to the previously identifiedorientation data, which may limit the orientation accuracy based on thepreviously identified orientation data.

The current alignment of the fixed orientation image capture device mayvary from a previously identified alignment. For example, the currentalignment of the fixed orientation image capture device may vary from analignment indicated in a design specification, of the image capturedevice, the unmanned aerial vehicle or both, within a defined range ofmanufacture tolerances. In another example, the current alignment of thefixed orientation image capture device may vary from a previouslyidentified alignment based on operational metrics, such as in responseto physical force, temperature variation, material aging, or any otherphysical or chemical process, or combination of processes, that maychange camera alignment.

The current alignment of the gimbal may vary from a previouslyidentified alignment. For example, the current alignment of the gimbalmay vary from an alignment indicated in a design specification within adefined range of manufacture tolerances. The current alignment of thegimbal may vary from a previously identified alignment based onoperational metrics, such as in response to physical force, temperaturevariation, material aging, or any other physical or chemical process, orcombination of processes, that may change gimbal alignment. For example,the gimbal may be non-rigidly mounted to the unmanned aerial vehicle,such as via dampers, and the alignment of the gimbal may vary inaccordance with a range of motion associated with the dampers.

The current alignment of the adjustable orientation image capture devicemay vary from a previously identified alignment. Variations in thealignment of the adjustable orientation image capture device may includevariations based on gimbal motor encoder variations, or variations ofthe alignment of the adjustable orientation image capture device from analignment indicated in a design specification within a defined range ofmanufacture tolerances, or from a previously identified alignment basedon operational metrics, such as in response to physical force,temperature variation, material aging, or any other physical or chemicalprocess, or combination of processes, that may change camera alignment.

The orientation calibration data may be obtained at 330 based on thefeature correlation data obtained at 320. For example, the featurecorrelation data obtained at 320 may include spatial feature correlationdata, and the orientation calibration data may be obtained based on thespatial feature correlation data, such as using five-point relativepositioning, or another multi-point relative positioning technique.

In another example, the feature correlation data obtained at 320 mayinclude relative velocity data, and the orientation calibration data maybe obtained based on the relative velocity data by correlating thevelocity of the first image capture device to the temporallycorresponding velocity of the second image capture device.

In another example, obtaining the feature correlation data at 320 mayomit obtaining the relative velocity data, the feature correlation dataobtained at 320 may include temporal feature correlation data, and theorientation calibration data may be obtained at 330 based on thetemporal feature correlation data using spatiotemporal calibration.Spatiotemporal calibration may include obtaining the orientationcalibration data based on bundle adjustment based on the sequentialimages captured by the first image capture device, such as the fixedorientation image capture device, and the sequential images captured bythe second image capture device, such as the adjustable orientationimage capture device.

Current object identification data may be obtained at 340. The currentobject identification data may indicate an object, such as an object inthe field of view of one or both of the image capture devices, such asin the field of view of the adjustable orientation image capture device.The current object identification data may be obtained automatically,such as based on object motion. The current object identification datamay be obtained based on input, such as user input indicating thecurrent object in an image captured by, for example, the adjustableorientation image capture device. Obtaining the current objectidentification data at 340 may include obtaining current object motiondata, such as two-dimensional motion data indicating motion of thecurrent object between a temporal sequence of images captured by theadjustable orientation image capture device. For example, thetwo-dimensional motion data may indicate pixel location data for anobject in a first frame and corresponding pixel location data for theobject in a second frame.

Relative object orientation data may be obtained at 350. Obtaining therelative object orientation data at 350 may include determining aspatial location, trajectory, or both, for the current object, such asby triangulating the current object identified at 340 based on theorientation calibration data obtained at 330.

For example, the first image capture device may be a fixed orientationstereo image capture device, the second image capture device may be anadjustable orientation image capture device, a field of view of thefirst image capture device may overlap a portion of the field of view ofthe second image capture device, the current object may be included inthe overlapping portion of the respective fields of view, athree-dimensional location, trajectory, or both, may be obtained basedon the images captured by the first image capture devices, such as usingbinocular object detection, and the three-dimensional location relativeto the first image capture device may be correlated to athree-dimensional location relative to the second image capture devicebased on the orientation calibration data obtained at 330.

Unmanned aerial vehicle operation may be performed at 360. The unmannedaerial vehicle operation may be performed based on the orientationcalibration data obtained at 330, the relative object orientation dataobtained at 350, or a combination thereof. The unmanned aerial vehicleoperation may include controlling or adjusting a three-dimensionallocation, or a trajectory, of the unmanned aerial vehicle to positionthe unmanned aerial vehicle relative to the current object.

In some embodiments, expected or predicted two-dimensional motion dataindicating motion of the current object between temporally subsequentimages captured by the adjustable orientation image capture device maybe obtained based on the relative object orientation data may beobtained at 350.

In some embodiments, the accuracy, efficiency, or both, of objectdetection, including depth detection, three-dimensional trajectorydetection, or both, based on binocular object detection, such as using afixed orientation stereo image capture device, may be limited, andmonocular object detection may be used for object detection, such as forcollision avoidance. For example, a current velocity of the unmannedaerial vehicle may exceed a maximum binocular object detection velocitythreshold and the accuracy, efficiency, or both, of binocular objectdetection may be limited. The monocular object detection may includemonocular object detection based on sequential images subsequentlycaptured by the adjustable orientation image capture device and theorientation calibration data obtained at 330. The accuracy, efficiency,or both, of monocular object detection based on sequential imagescaptured by the adjustable orientation image capture device may exceedthe accuracy, efficiency, or both of monocular object detection based onsequential images captured by the fixed orientation image capturedevice. For example, the quality or detail of image information, such ascolor information, resolution, field of view, and the like, captured bythe adjustable orientation image capture device may capture may exceedthe quality or detail of image information captured by the fixedorientation image capture device, and the accuracy, efficiency, or both,of monocular object detection may correlate with the quality of therespective image information. In another example, the adjustableorientation image capture device may be stabilized with respect to thecurrent object, which may improve the accuracy, efficiency, or both, ofmonocular object detection relative to the accuracy, efficiency, orboth, of monocular object detection based on the fixed orientation imagecapture device.

Where certain elements of these implementations may be partially orfully implemented using known components, only those portions of suchknown components that are necessary for an understanding of thisdisclosure have been described. Detailed descriptions of other portionsof such known components have been omitted so as not to obscure thedisclosure. The drawings are for the purpose of illustration anddescription only and are not intended as a definition of the limits ofthe disclosure.

As used in the specification and in the claims, the singular form of“a,” “an,” and “the” include plural referents unless the context clearlydictates otherwise.

An implementation showing a singular component in this disclosure shouldnot be considered limiting; rather, this disclosure is intended toencompass other implementations including a plurality of the samecomponent, and vice-versa, unless explicitly stated otherwise herein.Further, this disclosure encompasses present and future knownequivalents to the components referred to herein by way of illustration.

As used herein, the term “bus” is meant generally to denote all types ofinterconnection or communication architecture that may be used tocommunicate data between two or more entities. The “bus” could beoptical, wireless, infrared or another type of communication medium. Theexact topology of the bus could be for example standard “bus,”hierarchical bus, network-on-chip, address-event-representation (AER)connection, or other type of communication topology used for accessing,e.g., different memories in a system.

As used herein, the term “computing device” is meant to include personalcomputers (PCs) and minicomputers, whether desktop, laptop, orotherwise, mainframe computers, workstations, servers, personal digitalassistants (PDAs), handheld computers, embedded computers, programmablelogic device, personal communicators, tablet computers, portablenavigation aids, J2ME equipped devices, cellular telephones, smartphones, personal integrated communication or entertainment devices, orliterally any other device capable of executing a set of instructions.

As used herein, the term “computer program” or “software” is meant toinclude any sequence or human or machine cognizable steps which performa function. Such program may be rendered in virtually any programminglanguage or environment including, for example, C/C++, C#, Fortran,COBOL, MATLAB™, PASCAL, Python, assembly language, markup languages(e.g., HTML, SGML, XML, VoXML), as well as object-oriented environmentssuch as the Common Object Request Broker Architecture (CORBA), Java™(including J2ME, Java Beans), Binary Runtime Environment (e.g., BREW).

As used herein, the terms “connection,” “link,” “transmission channel,”“delay line,” and “wireless” mean a causal link between any two or moreentities (whether physical or logical/virtual) which enables informationexchange between the entities.

As used herein, the terms “integrated circuit,” “chip,” and “IC” aremeant to refer to an electronic circuit manufactured by the patterneddiffusion of trace elements into the surface of a thin substrate ofsemiconductor material. By way of non-limiting example, integratedcircuits may include field programmable gate arrays (FPGAs),programmable logic devices (PLDs), reconfigurable computer fabrics(RCFs), SoCs, application-specific integrated circuits (ASICs), and/orother types of integrated circuits.

As used herein, the term “memory” includes any type of integratedcircuit or other storage device adapted for storing digital dataincluding, without limitation, ROM, PROM, EEPROM, DRAM, Mobile DRAM,SDRAM, DDR/2 SDRAM, EDO/FPMS, RLDRAM, SRAM, “flash” memory (e.g.,NAND/NOR), memristor memory, and PSRAM.

As used herein, the terms “processor,” “microprocessor,” and “digitalprocessor” are meant generally to include digital processing devices. Byway of non-limiting example, digital processing devices may include oneor more of digital signal processors (DSPs), reduced instruction setcomputers (RISC), general-purpose (CISC) processors, microprocessors,gate arrays (e.g., FPGAs), PLDs, RCFs, array processors, securemicroprocessors, ASICs, and/or other digital processing devices. Suchdigital processors may be contained on a single unitary IC die, ordistributed across multiple components.

As used herein, the terms “network interface” and “communicationsinterface” refer to any signal, data, and/or software interface with acomponent, network, and/or process. By way of non-limiting example, acommunications interface may include one or more of FireWire (e.g.,FW400, FW110, and/or other variation.), USB (e.g., USB2), Ethernet(e.g., 10/100, 10/100/1000 (Gigabit Ethernet), 10-Gig-E, and/or otherEthernet implementations), MoCA, Coaxsys (e.g., TVnet™), radio frequencytuner (e.g., in-band or OOB, cable modem, and/or other protocol), Wi-Fi(802.11), WiMAX (802.16), PAN (e.g., 802.15), cellular (e.g., 3G,LTE/LTE-A/TD-LTE, GSM, and/or other cellular technology), IrDA families,and/or other communications interfaces.

As used herein, the term “Wi-Fi” includes one or more of IEEE-Std.802.11, variants of IEEE-Std. 802.11, standards related to IEEE-Std.802.11 (e.g., 802.11 a/b/g/n/s/v), and/or other wireless standards.

As used herein, the term “wireless” means any wireless signal, data,communication, and/or other wireless interface. By way of non-limitingexample, a wireless interface may include one or more of Wi-Fi,Bluetooth, 3G (3GPP/3GPP2), HSDPA/HSUPA, TDMA, CDMA (e.g., IS-95A,WCDMA, and/or other wireless technology), FHSS, DSSS, GSM, PAN/802.15,WiMAX (802.16), 802.20, narrowband/FDMA, OFDM, PCS/DCS,LTE/LTE-A/TD-LTE, analog cellular, CDPD, satellite systems, millimeterwave or microwave systems, acoustic, infrared (i.e., IrDA), and/or otherwireless interfaces.

As used herein, the terms “imaging device” and “camera” may be used torefer to any imaging device or sensor configured to capture, record,and/or convey still and/or video imagery which may be sensitive tovisible parts of the electromagnetic spectrum, invisible parts of theelectromagnetic spectrum (e.g., infrared, ultraviolet), and/or otherenergy (e.g., pressure waves).

While certain aspects of the implementations described herein are interms of a specific sequence of steps of a method, these descriptionsare only illustrative of the broader methods of the disclosure and maybe modified as required by the particular applications thereof. Certainsteps may be rendered unnecessary or optional under certaincircumstances. Additionally, certain steps or functionality may be addedto the disclosed implementations, or the order of performance of two ormore steps permuted. All such variations are considered to beencompassed within the disclosure.

While the above detailed description has shown, described, and pointedout novel features of the disclosure as applied to variousimplementations, it will be understood that various omissions,substitutions, and changes in the form and details of the devices orprocesses illustrated may be made by those skilled in the art withoutdeparting from the disclosure. The foregoing description is in no waymeant to be limiting, but rather should be taken as illustrative of thegeneral principles of the technologies.

What is claimed is:
 1. An unmanned aerial vehicle, comprising: a fixedorientation image capture device; an adjustable orientation imagecapture device; a processor configured to execute instruction stored ona non-transitory computer readable medium to control the unmanned aerialvehicle to traverse a portion of an operational environment of theunmanned aerial vehicle using relative image capture device orientationcalibration by: obtaining a first image from the fixed orientation imagecapture device; obtaining a second image from the adjustable orientationimage capture device; obtaining feature correlation data based on thefirst image and the second image; obtaining relative image capturedevice orientation calibration data based on the feature correlationdata, the relative image capture device orientation calibration dataindicating an orientation of the adjustable orientation image capturedevice relative to the fixed orientation image capture device; obtainingrelative object orientation data based on the relative image capturedevice orientation calibration data, the relative object orientationdata representing a three-dimensional orientation of an external objectrelative to the adjustable orientation image capture device; and atrajectory controller configured to control a trajectory of the unmannedaerial vehicle in response to the relative object orientation data. 2.The unmanned aerial vehicle of claim 1, wherein: a portion of a field ofview of the fixed orientation image capture device corresponding tocapturing the first image overlaps a portion of a field of view of theadjustable orientation image capture device corresponding to capturingthe second image; obtaining feature correlation data includes obtainingspatial feature correlation data, wherein obtaining the spatial featurecorrelation data includes obtaining the spatial feature correlation datasuch that the spatial feature correlation data indicates a correlationbetween a feature from the first image and a corresponding feature fromthe second image; and obtaining the relative image capture deviceorientation calibration data includes using five-point relativepositioning based on the spatial feature correlation data.
 3. Theunmanned aerial vehicle of claim 1, wherein: a field of view of thefixed orientation image capture device corresponding to capturing thefirst image is non-overlapping with a field of view of the adjustableorientation image capture device corresponding to capturing the secondimage; and obtaining feature correlation data includes obtainingtemporal feature correlation data.
 4. The unmanned aerial vehicle ofclaim 3, wherein obtaining the temporal feature correlation dataincludes: obtaining a third image from the fixed orientation imagecapture device, the third image sequentially subsequent to the firstimage; obtaining first temporal feature correlation data indicating acorrelation between a feature from the first image and a correspondingfeature from the third image; obtaining a fourth image from theadjustable orientation image capture device, the fourth imagesequentially subsequent to the second image; and obtaining secondtemporal feature correlation data indicating a correlation between afeature from the second image and a corresponding feature from thefourth image.
 5. The unmanned aerial vehicle of claim 4, wherein:obtaining the temporal feature correlation data includes: obtainingfirst velocity data based on the first temporal feature correlationdata, the first velocity indicating a velocity of the fixed orientationimage capture device; and obtaining second velocity data based on thesecond temporal feature correlation data, the second velocity indicatinga velocity of the adjustable orientation image capture device; andobtaining the relative image capture device orientation calibration dataincludes obtaining the relative image capture device orientationcalibration data based on the first velocity data and the secondvelocity data.
 6. The unmanned aerial vehicle of claim 4, whereinobtaining the relative image capture device orientation calibration dataincludes obtaining the relative image capture device orientationcalibration data using spatiotemporal calibration based on the temporalfeature correlation data.
 7. A method comprising: controlling, by aprocessor in response to instructions stored on a non-transitorycomputer readable medium, an unmanned aerial vehicle to traverse aportion of an operational environment of the unmanned aerial vehicleusing relative image capture device orientation calibration by:obtaining a first image from a fixed orientation image capture device ofthe unmanned aerial vehicle; obtaining a second image from an adjustableorientation image capture device of the unmanned aerial vehicle;obtaining feature correlation data based on the first image and thesecond image; obtaining relative image capture device orientationcalibration data based on the feature correlation data, the relativeimage capture device orientation calibration data indicating anorientation of the adjustable orientation image capture device relativeto the fixed orientation image capture device; obtaining relative objectorientation data based on the relative image capture device orientationcalibration data, the relative object orientation data representing athree-dimensional orientation of an external object relative to theadjustable orientation image capture device; and controlling atrajectory of the unmanned aerial vehicle in response to the relativeobject orientation data.
 8. The method of claim 7, wherein a portion ofa field of view of the fixed orientation image capture devicecorresponding to capturing the first image overlaps a portion of a fieldof view of the adjustable orientation image capture device correspondingto capturing the second image.
 9. The method of claim 8, wherein:obtaining feature correlation data includes obtaining spatial featurecorrelation data, wherein obtaining the spatial feature correlation dataincludes obtaining the spatial feature correlation data such that thespatial feature correlation data indicates a correlation between afeature from the first image and a corresponding feature from the secondimage; and obtaining the relative image capture device orientationcalibration data includes using five-point relative positioning based onthe spatial feature correlation data.
 10. The method of claim 7, whereina field of view of the fixed orientation image capture devicecorresponding to capturing the first image is non-overlapping with afield of view of the adjustable orientation image capture devicecorresponding to capturing the second image.
 11. The method of claim 10,wherein obtaining feature correlation data includes obtaining temporalfeature correlation data, wherein obtaining the temporal featurecorrelation data includes: obtaining a third image from the fixedorientation image capture device, the third image sequentiallysubsequent to the first image; obtaining first temporal featurecorrelation data indicating a correlation between a feature from thefirst image and a corresponding feature from the third image; obtaininga fourth image from the adjustable orientation image capture device, thefourth image sequentially subsequent to the second image; and obtainingsecond temporal feature correlation data indicating a correlationbetween a feature from the second image and a corresponding feature fromthe fourth image.
 12. The method of claim 11, wherein: temporal featurecorrelation includes: obtaining first velocity data based on the firsttemporal feature correlation data, the first velocity indicating avelocity of the fixed orientation image capture device; and obtainingsecond velocity data based on the second temporal feature correlationdata, the second velocity indicating a velocity of the adjustableorientation image capture device; and obtaining the relative imagecapture device orientation calibration data includes obtaining therelative image capture device orientation calibration data based on thefirst velocity data and the second velocity data.
 13. The method ofclaim 11, wherein obtaining the relative image capture deviceorientation calibration data includes obtaining the relative imagecapture device orientation calibration data using spatiotemporalcalibration based on the temporal feature correlation data.
 14. Anon-transitory computer-readable storage medium, comprisingprocessor-executable instructions for controlling, by a processor inresponse the instructions, an unmanned aerial vehicle to traverse aportion of an operational environment of the unmanned aerial vehicleusing relative image capture device orientation calibration by:obtaining a first image from a fixed orientation image capture device ofthe unmanned aerial vehicle; obtaining a second image from an adjustableorientation image capture device of the unmanned aerial vehicle;obtaining feature correlation data based on the first image and thesecond image; obtaining relative image capture device orientationcalibration data based on the feature correlation data, the relativeimage capture device orientation calibration data indicating anorientation of the adjustable orientation image capture device relativeto the fixed orientation image capture device; obtaining relative objectorientation data based on the relative image capture device orientationcalibration data, the relative object orientation data representing athree-dimensional orientation of an external object relative to theadjustable orientation image capture device; and controlling atrajectory of the unmanned aerial vehicle in response to the relativeobject orientation data.
 15. The non-transitory computer-readablestorage medium of claim 14, wherein a portion of a field of view of thefixed orientation image capture device corresponding to capturing thefirst image overlaps a portion of a field of view of the adjustableorientation image capture device corresponding to capturing the secondimage.
 16. The non-transitory computer-readable storage medium of claim15, wherein: obtaining feature correlation data includes obtainingspatial feature correlation data, wherein obtaining the spatial featurecorrelation data includes obtaining the spatial feature correlation datasuch that the spatial feature correlation data indicates a correlationbetween a feature from the first image and a corresponding feature fromthe second image; and obtaining the relative image capture deviceorientation calibration data includes using five-point relativepositioning based on the spatial feature correlation data.
 17. Thenon-transitory computer-readable storage medium of claim 14, wherein afield of view of the fixed orientation image capture devicecorresponding to capturing the first image is non-overlapping with afield of view of the adjustable orientation image capture devicecorresponding to capturing the second image.
 18. The non-transitorycomputer-readable storage medium of claim 17, wherein obtaining featurecorrelation data includes obtaining temporal feature correlation data,wherein obtaining the temporal feature correlation data includes:obtaining a third image from the fixed orientation image capture device,the third image sequentially subsequent to the first image; obtainingfirst temporal feature correlation data indicating a correlation betweena feature from the first image and a corresponding feature from thethird image; obtaining a fourth image from the adjustable orientationimage capture device, the fourth image sequentially subsequent to thesecond image; and obtaining second temporal feature correlation dataindicating a correlation between a feature from the second image and acorresponding feature from the fourth image.
 19. The non-transitorycomputer-readable storage medium of claim 18, wherein: temporal featurecorrelation includes: obtaining first velocity data based on the firsttemporal feature correlation data, the first velocity indicating avelocity of the fixed orientation image capture device; and obtainingsecond velocity data based on the second temporal feature correlationdata, the second velocity indicating a velocity of the adjustableorientation image capture device; and obtaining the relative imagecapture device orientation calibration data includes obtaining therelative image capture device orientation calibration data based on thefirst velocity data and the second velocity data.
 20. The non-transitorycomputer-readable storage medium of claim 18, wherein obtaining therelative image capture device orientation calibration data includesobtaining the relative image capture device orientation calibration datausing spatiotemporal calibration based on the temporal featurecorrelation data.